// pages/buy/index.js
const citys = {
    浙江: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
    福建: ['福州', '厦门', '莆田', '三明', '泉州'],
};
Page({

    /**
     * 页面的初始数据
     */
    data: {
        coupons: [],
        Templates: [],
        price: 0,
        range: [],
        columns: [{
                values: Object.keys(citys),
                className: 'column1',
            },
            {
                values: citys['浙江'],
                className: 'column2',
                defaultIndex: 2,
            },
        ],
        show: false
    },
    onChange(event) {
        const {
            picker,
            value,
            index
        } = event.detail;
        picker.setColumnValues(1, citys[value[0]]);
    },
    showPopup() {
        this.setData({
            show: true
        });
    },

    onClose() {
        this.setData({
            show: false
        });
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.generatedCoupons()
        this.couponGenTemplates()
        let range = []
        for (let index = 1; index < 100; index++) {
            range.push(index)
        }
        this.setData({
            range
        })
    },
    // 下拉刷新
    onPullDownRefresh: function () {
        wx.showNavigationBarLoading();
        this.generatedCoupons()
        this.couponGenTemplates()
        // 模拟接口延迟
        setTimeout(function () {
            wx.hideNavigationBarLoading();
            wx.stopPullDownRefresh();
        }, 2000);
    },
    //   搜索优惠卷
    generatedCoupons() {
        // 参给接口的参数
        let params = {

        }
        // 模拟后台返回数据
        var result = {
            code: 200,
            data: [{
                couponEntityId: 100,
                areaName: "校园街停车场",
                couponName: 'xx优惠券',
                price: 20.00,
                minNum: 10, // 起售数量
                addNum: 2, // 每次增加数量
                validDate: "2023-11-30",
                num1: '1234-1234',
                num2: 100,
                description: '优惠券详细使用说明', // 优惠券详细使用说明
                tags: [{
                        tag: '满50减5',
                        orderNum: 0,
                        description: '订单金额满10元减5元'
                    },
                    {
                        tag: '可分享',
                        orderNum: 1,
                        description: '此优惠券可分享给他人'
                    }
                ]
            }]
        }
        this.setData({
            coupons: result.data
        })
    },
    // 获取可用的优惠券生成模板
    couponGenTemplates() {
        var result = {
            code: 200,
            data: [ // 可用优惠券列表
                {
                    couponTemplateId: 100,
                    couponName: 'xx优惠券',
                    areaName: "校园街停车场",
                    description: '优惠券详细使用说明', // 优惠券详细使用说明
                    tags: [{
                            tag: '满10减5',
                            orderNum: 0,
                            description: '订单金额满10元减5元'
                        },
                        {
                            tag: '多人多次',
                            orderNum: 1,
                            description: '此优惠券码可多人重复使用'
                        }
                    ]
                }
            ]
        }
        this.setData({
            Templates: result.data
        })
    },

    // 失效
    disableCoupon(e) {
        const {
            couponentityId
        } = e.currentTarget.dataset
        let params = {
            couponEntityId: couponentityId
        }
        wx.showToast({
            title: '操作成功',
        })
        this.generatedCoupons()
    },
    // 选择有效期
    daysChange(e) {
        console.log(e)
        const {
            index
        } = e.currentTarget.dataset
        const {
            value
        } = e.detail
        let date = new Date()
        date = date.setDate(date.getDate() + (value * 1 + 1))
        this.setData({
            [`Templates[${index}].days`]: value,
            [`Templates[${index}].daystr`]: this.getNowFormatDate(new Date(date))
        })
    },
    // 选择次数
    timesChange(e) {
        console.log(e)
        const {
            index
        } = e.currentTarget.dataset
        const {
            value
        } = e.detail

        this.setData({
            [`Templates[${index}].times`]: value
        })
    },
    // 生成优惠卷
    generateCoupon(e) {
        let that = this
        const {
            days,
            times,
            coupontemplateId
        } = e.currentTarget.dataset
        if (!days) {
            wx.showToast({
                title: '请选择有效期',
                icon: 'none'
            })
            return
        }
        if (!times) {
            wx.showToast({
                title: '请输入次数',
                icon: 'none'
            })
            return
        }
        wx.showModal({
            title: '生成优惠卷',
            content: '您确认要生成优惠券吗？',
            complete: (res) => {
                if (res.confirm) {
                    // 传给接口的参数
                    let params = {
                        couponTemplateId: coupontemplateId,
                        days, // 有效时间（天数）
                        times // 有效次数
                    }
                    wx.showToast({
                        title: '生成成功'
                    })
                    that.generatedCoupons()
                }
            }
        })
    },
    getNowFormatDate(date) {
        let year = date.getFullYear(), //获取完整的年份(4位)
            month = date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
            strDate = date.getDate() // 获取当前日(1-31)
        if (month < 10) month = `0${month}` // 如果月份是个位数，在前面补0
        if (strDate < 10) strDate = `0${strDate}` // 如果日是个位数，在前面补0

        return `${year}-${month}-${strDate}`
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})